package com.hb0730.boot.admin.modules.sci.model.entity;

import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.annotation.write.style.ColumnWidth;
import com.baomidou.mybatisplus.annotation.*;

import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hb0730.boot.admin.config.Excel.LocalDateTimeConverter;
import lombok.Data;
import lombok.ToString;

/**
 * 科研会议论文表
 * @TableName sci_paper_conference
 */
@TableName(value ="sci_paper_conference")
@Data
@ToString
public class SciPaperConference implements Serializable {
    /**
     * id
     */
    @ExcelProperty("用户ID")
    @ColumnWidth(20)
    @TableId(type = IdType.ASSIGN_ID)
    private String id;

    /**
     * 工号
     */
    @ExcelProperty("工号")
    @ColumnWidth(20)
    private String username;

    /**
     * 填报者
     */
    @ExcelProperty("姓名")
    @ColumnWidth(20)
    private String nickname;

    /**
     * 院系部门
     */
    @ExcelProperty("院系部门")
    @ColumnWidth(20)
    private String department;

    /**
     * 论文题目
     */
    @ExcelProperty("论文题目")
    @ColumnWidth(20)
    private String title;

    /**
     * 第一作者
     */
    @ExcelProperty("第一作者")
    @ColumnWidth(20)
    private String firstAuthor;

    /**
     * 其他作者
     */
    @ExcelProperty("其他作者")
    @ColumnWidth(20)
    private String otherAuthor;

    /**
     * 出版社
     */
    @ExcelProperty("出版社")
    @ColumnWidth(20)
    private String press;

    /**
     * 会议名称
     */
    @ExcelProperty("会议名称")
    @ColumnWidth(20)
    private String confName;

    /**
     * 会议地点
     */
    @ExcelProperty("会议地点")
    @ColumnWidth(20)
    private String spot;

    /**
     * 会议时间
     */
    @ExcelProperty(value = "会议时间",converter = LocalDateTimeConverter.class)
    @ColumnWidth(20)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private LocalDate confTime;

    /**
     * 会议级别
     */
    @ExcelProperty("会议级别")
    @ColumnWidth(20)
    private String level;

    /**
     * 收录类别
     */
    @ExcelProperty("收录类别")
    @ColumnWidth(20)
    private String type;

    /**
     * 业绩点
     */
//    @ExcelProperty("业绩点aaaa")
    @ColumnWidth(100)
    private String point;
    /**
     * 科研奖金
     */
    @ExcelProperty("科研奖金")
    @ColumnWidth(20)
    private Float  bonus;

    /**
     * 字数
     */
    @ExcelProperty("字数")
    @ColumnWidth(20)
    private Float  textNumber;

    /**
     * 文件路径
     */
    @ExcelProperty("文件路径")
    @ColumnWidth(20)
    private String path;

    /**
     * 项目状态
     */
    @ExcelProperty("项目状态")
    @ColumnWidth(20)
    private Integer status;

    /**
     * 更新时间
     */

    @ExcelProperty(value = "更新时间",converter = LocalDateTimeConverter.class)
    @ColumnWidth(20)
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField(fill = FieldFill.INSERT_UPDATE)
    private LocalDateTime modified;

    /**
     * 备注
     */
    @ExcelProperty("备注")
    @ColumnWidth(20)
    private String remark;

}